﻿using Acaweb.Data.Contracts;
using Acaweb.Model.Entities;
using Acaweb.Model.Entities.DatosCompuestos;
using Acaweb.Componentes.Contracts;
using System.Collections.Generic;
using System.Linq;

namespace Acaweb.Componentes
{
    public class DepartamentosService : BaseService, IDepartamentosService
    {
        private IDepartementosDao _DepartamentosDao;
        private IPaisesDao _PaisesDao;


        public IPaisesDao PaisesDao
        {
            get { return _PaisesDao; }
            set { _PaisesDao = value; }
        }

        public IDepartementosDao DepartamentosDao
        {
            get { return _DepartamentosDao; }
            set { _DepartamentosDao = value; }
        }

        public IList<Departamentos> GetAll()
        {
            List<Departamentos> Lista =DepartamentosDao.GetAll().ToList();

            //Lista.ForEach(t => t.Pais = PaisesDao.GetByNumeracion(t.CodigoPais));
            return Lista;
        }

        public Departamentos GetById(int Id)
        {
            return DepartamentosDao.GetById(Id);
        }

        public IList<Departamentos> GetByPais(int CodigoPais)
        {
            return DepartamentosDao.GetByPais(CodigoPais).OrderBy(t=>t.Nombre).ToList();
        }


        public IList<Departamentos> GetByNombrePais(string NombrePais)
        {
            int Pais = PaisesDao.GetByNombre(NombrePais).CodigoPais;

            return DepartamentosDao.GetByPais(Pais).OrderBy(t=>t.Nombre).ToList();
        }
    }
}